#ifndef __IBT_ALARM_H__
#define __IBT_ALARM_H__

#include "IBT_Common.h"

enum { // 闹钟属性
	SYSTEM_ALARM_NORMAL = 0, // 普通闹钟
	SYSTEM_ALARM_WDT = 1, // 看门狗闹钟
	SYSTEM_ALARM_PIR_ENABLE = 2, // PIR 使能闹钟
	SYSTEM_ALARM_PIR_DISABLE = 3, // PIR 关闭闹钟
	SYSTEM_ALARM_LOOP = 4, // 循环闹钟
	SYSTEM_ALARM_DISPOSABLE = 5, // 一次性闹钟，用完自动废弃，不可丢弃
	SYSTEM_ALARM_DISPOSABLE_SHARE = 6, // 一次性共享闹钟，用完自动废弃，如果有比自己较早的闹钟，则共享较早闹钟，自己的将被丢弃
};

typedef struct _alarm_info {
	int hour; // 时钟
	int min; // 分钟
	int sec; // 秒钟
	int enable; // 闹钟是否使能
	int type; // 闹钟属性
	int del; // 闹钟是否被删除
} AlarmInfo;

struct IBTAlarmHandler {
	IBTHandler  *ibtHandler;
	IBTEventCallback event;
	IBT_PTR		priv[0];
};

IBTAlarmHandler *IBT_Alarm_Init(IBTHandler *ibtHandler);
IBT_VOID IBT_Alarm_DeInit(IBTAlarmHandler *h);

#endif
